Conventional display devices (e.g., Cathode Ray Tube (CRT), Liquid Crystal Displays (LCD), Light Emitting Diode (LED), Organic LED (OLED), Active-Matrix OLED (AMOLED), etc.) operate at fixed refresh rates such as 60 Hz, 85 Hz, or 120 Hz. However, a graphics processing unit (GPU) may generate frames of pixel data at a variable rendering rate that is asynchronous with the fixed refresh rate of the display device.
Newer display devices may be configured to operate synchronously with the GPU utilizing a dynamic refresh frequency. For example, some monitors may be compatible with NVIDIA's G-SYNC™ technology that enables the display device to synchronize the refresh of pixel elements for displaying a frame with the variable rendering rate of the GPU. The GPU is configured to transmit frames of pixel data to the display device via the video interface as the frames are rendered, and the display device is configured to refresh the pixels of the display device in response to receiving the frames of pixel data rather than at a fixed frequency refresh rate. In other words, the refresh rate of the display device is not fixed at a particular frequency, but instead adjusts dynamically to the rate image data is received from the GPU.
As long as the GPU renders frames of image data at a reasonably fast rendering rate, the types of image artifacts associated with conventional systems may be reduced. However, in some cases, the GPU may have trouble rendering particular frames in a reasonable amount of time due to the complexity of a scene. For example, a particular frame of pixel data may take, e.g., 100 ms to be rendered, which corresponds to a dynamic refresh frequency of 10 Hz for that particular frame. The effective refresh rate of the monitor when there are large delays between successive frames may cause issues.
For example, most image display technologies (e.g., LCD panels) have a lower and upper bound refresh frequency at which the display can reproduce an image with maximum quality. When the displays were driven at a fixed frequency refresh rate, this operational restriction was easy to meet because the fixed refresh frequency could be selected within the lower and upper bounds of the display. However, when using a variable refresh rate technology, such as NVIDIA's G-SYNC™ technology, the GPU may require a variable and unpredictable amount of time to generate the next image data for display. The amount of time required to generate the next frame of image data for display can be larger than the amount of time available while staying above the minimum refresh frequency requirements of the display.
When the refresh rate of the video signal that is arriving at the display driving hardware is lower than this minimum refresh rate, the display driving hardware needs to refresh the panel by repainting the previous image to stay above the minimum refresh frequency. FIG. 1A illustrates an example of image repetition on a variable refresh display device to avoid flicker, in accordance with the prior art. A set of timing diagrams 100 in FIG. 1A includes an input signal that includes encoded data for five images (e.g., Image 1, Image 2, Image 3, Image 4, and Image 5) received by a variable refresh display device. An output signal includes data sent to an LCD panel of the variable refresh display device. Images 1, 2, and 3 are received at a frequency that is above the minimum refresh frequency of the variable refresh display device. Therefore, Images 1, 2, and 3 are output to the LCD panel when those images are received. However, Image 4 is not received soon enough to satisfy the minimum refresh frequency of the variable refresh display device. Therefore, Image 3 is redisplayed. Then, Images 4 and 5 are output to the LCD panel when those images are received by the variable refresh display device.
If the new image (e.g., Image 4) arrives while the previous image (e.g., Image 3) is being redisplayed, a temporal collision occurs: the incoming image needs to be displayed as soon as possible for the best possible visual representation and to avoid stutter, but the previous image is in the process of being displayed. For a traditional LCD panel, display of the previous image needs to be completed before the new image can be displayed.
FIG. 1B illustrates an example of image repetition on a variable refresh display device with a temporal collision between two images, in accordance with the prior art. An output signal includes data sent to an LCD panel of the variable refresh display device. Images 1, 2, and 3 are received at a frequency that is above the minimum refresh frequency of the variable refresh display device. Therefore, Images 1, 2, and 3 are output to the LCD panel when those images are received. However, Image 4 is not received soon enough to satisfy the minimum refresh frequency of the variable refresh display device. Therefore, Image 3 is redisplayed. Image 4 is received while Image 3 is being redisplayed—causing a temporal collision between the repeated Image 3 and new Image 4. Display of Image 4 is delayed until the display of repeated Image 3 is completed. Then, Image 5 is output to the LCD panel when it is received by the variable refresh display device.
When a fixed frame rate is used to refresh a display device, to achieve a desired gamma curve, a constant gamma correction function is used. However, for a variable refresh rate display, using a constant gamma correction is often not sufficient to obtain this desired gamma curve for all refresh rates. As a result, this may result in visual flickering of the display device. Thus, there is a need for addressing these issues and/or other issues associated with the prior art.